package fr.alma.ihm;

import java.io.File;

import javax.swing.filechooser.FileFilter;

/**
 * Classe de filtre des fichiers en fonction de leur extension.
 * @author AUBERT Sebastien
 * @author BOUVET Frederic
 * @author BRAUD Jeremy
 * @author KROMMENHOEK Cedric
 *
 */
public class FiltreFichiers extends FileFilter {

	/**
	 * extension des fichiers filtres.
	 */
	private String extension;
	
	/**
	 * description des fichiers filtres.
	 */
	private String description;
	
	/**
	 * Constructeur.
	 * @param extensionFichier l'extension
	 * @param descriptionFichier la description
	 */
	public FiltreFichiers(String extensionFichier, String descriptionFichier) {
		this.extension = extensionFichier;
		this.description = descriptionFichier;
	}
	
	/**
	 * Verifie que le fichier est acceptable.
	 * @param fichier le fichier
	 * @return vrai si c'est un dossier ou un fichier de la bonne extension
	 */
	@Override
	public boolean accept(File fichier) {
		boolean estRepertoire = fichier.isDirectory();
		boolean estFichierAcceptable = fichier.isFile() && fichier.getName().endsWith(this.extension);
		return (estRepertoire || estFichierAcceptable);
	}

	/**
	 * Renvoie la description du type fichier.
	 * @return la description
	 */
	@Override
	public String getDescription() {
		return (this.extension + " - " + this.description);
	}

}
